package com.ruoyi.tag.service.impl;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ruoyi.system.service.IUserTagService;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.tag.domain.TagsInfo;
import com.ruoyi.tag.dao.IUserTagDao;

/**
 * 用户标签服务实现类
 *
 * @author ruoyi
 */
@Service
public class UserTagServiceImpl implements IUserTagService {

    @Autowired
    private IUserTagDao userTagDao;

    /**
     * 检查是否为新用户并获取标签列表
     *
     * @param userId 用户ID
     * @return 结果
     */
    @Override
    public Map<String, Object> checkNewUserAndGetTags(Long userId) {
        Map<String, Object> result = new HashMap<>();

        // 查询用户信息
        SysUser user = userTagDao.selectUserById(userId);

        // 判断是否为新用户（没有登录时间）
        boolean isNewUser = user.getLoginDate() == null;
        result.put("isNewUser", isNewUser);

        // 如果是新用户，返回所有标签名称
        if (isNewUser) {
            TagsInfo tagsInfo = new TagsInfo();
            List<TagsInfo> tagsList = userTagDao.selectTagsInfoList(tagsInfo);

            // 提取标签名称列表
            List<String> tagNameList = tagsList.stream()
                    .map(TagsInfo::getTagName)
                    .collect(Collectors.toList());

            result.put("tagNameList", tagNameList);
        }

        return result;
    }
}